<?php
namespace Mouta\AmistateBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Entity\User as BaseUser;
use Symfony\Component\Validator\Constraints as Assert;
use Mouta\AmistateBundle\utils\Strings;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * Mouta\AmistateBundle\Entity
 * 
 * @ORM\Table(name="usuario",indexes={ @ORM\Index(name="iemail", columns={"email"}), @ORM\Index(name="isexo", columns={"sexo"}), @ORM\Index(name="ibusco", columns={"busco"}), @ORM\Index(name="iultima_actividad", columns={"ultima_actividad"}), @ORM\Index(name="ien_header_at", columns={"en_header_at"}) })
 * @ORM\Entity(repositoryClass="Mouta\AmistateBundle\Entity\UsuarioRepository")
 */
class Usuario extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @ORM\Column(type="bigint", nullable=true)
     */
    protected $fb_id;

    /**
     * @ORM\Column(type="string")
     * @Assert\NotBlank()
     * @Assert\MinLength(2)
     */
    protected $nombre;

    /**
     * @ORM\Column(type="string", nullable=true)
     * @Assert\MinLength(2)
     */
    protected $apellido;

    /**
     * @ORM\Column(type="integer",length="1")
     * @Assert\NotBlank()
     */
    protected $sexo;

    /**
     * @ORM\Column(type="integer",length="1")
     * @Assert\NotBlank()
     */
    protected $busco;

    /**
     * @ORM\Column(type="date")
     * @Assert\NotBlank()
     * @Assert\Date()
     */
    protected $cumple;

    /**
     * @ORM\Column(type="boolean")
     * 
     */
    protected $verificado = 0;

    /**
     * @ORM\Column(type="boolean")
     */
    protected $borrado = 0;

    /**
     * @ORM\Column(type="date", nullable=true)
     * @Assert\Date()
     */
    protected $deleted_at;

    /**
     * @ORM\Column(type="date")
     * @Assert\Date()
     */
    protected $ultima_actividad;

    /**
     * @ORM\Column(type="date")
     * @Assert\Date()
     * @Assert\NotBlank()
     */
    protected $created_at;

    /**
     * @ORM\Column(type="date")
     * @Assert\Date()
     */
    protected $updated_at;

    /**
    * @ORM\Column(type="integer", nullable=true)
    */
    protected $altura;
   
    /**
    * @ORM\Column(type="integer", nullable=true)
    */
    protected $hijos;
   
    /**
    * @ORM\Column(type="integer", nullable=true)
    */
    protected $estudios;
   
    /**
    * @ORM\Column(type="integer", nullable=true)
    */
    protected $religion;
   
   /**
    * @ORM\Column(type="integer", nullable=true)
    */
   protected $fumas;
   
   /**
    * @ORM\Column(type="integer", nullable=true)
    */
   protected $bebes;
   
   /**
    * @ORM\Column(type="integer", nullable=true)
    */
   protected $fisico;
   
   /**
    * @ORM\Column(type="text")
    * @Assert\MinLength(limit=25)
    */
   protected $descripcion;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $musica;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $peliculas;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $libros;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $tele;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $deportes;
   
   /**
    * @ORM\Column(type="integer", nullable=true)
    */
   protected $estado_civil;
   
   /**
    * @ORM\Column(type="integer", nullable=true)
    */
   protected $color_pelo;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $nacionalidad;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $trabajo;
   
   /**
    * @ORM\Column(type="integer", nullable=true)
    */
   protected $color_ojos;
   
   /**
    * @ORM\Column(type="integer", nullable=true)
    */
   protected $vives;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $frase;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $buscas;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $comida;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $cita_ideal;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $web;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    * @Assert\Email()
    */
   protected $msn;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    * @Assert\Email()
    */
   protected $yahoo;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $facebook;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $twitter;
   
   /**
    * @ORM\Column(type="integer",length="1", nullable=true)
    */
   protected $webcam;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $telefono;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    * @Assert\NotBlank()
    */
   protected $pais;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $provincia;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $ciudad;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $seo_pais;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $seo_provincia;
   
   /**
    * @ORM\Column(type="string", nullable=true)
    */
   protected $seo_ciudad;
   
   /**
    * @ORM\Column(type="decimal", precision=10, scale=4, nullable=true)
    */
   protected $latitude;
   
   /**
    * @ORM\Column(type="decimal", precision=10, scale=4, nullable=true)
    */
   protected $longitude;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $animales;
   
   /**
    * @ORM\Column(type="text", nullable=true)
    */
   protected $idioma;
   
   /**
    * @ORM\Column(type="integer")
    */
   protected $para;

   /**
    * @ORM\Column(type="decimal", precision=10, scale=1)
    */
   protected $puntos = 0;

   /**
    * @ORM\Column(type="integer")
    */
   protected $votos = 0;

   /**
    * @ORM\Column(type="integer")
    */
   protected $credito = 0;
   
   /**
    * @ORM\Column(type="boolean", nullable=false)
    */
   protected $reindexar = 0;
   /**
    * @ORM\Column(type="boolean", nullable=false)
    */
   protected $recibomail = 1;

   /**
    * @ORM\Column(type="datetime", nullable=true)
    */
   protected $en_header_at;

   /**
     * @ORM\OneToMany(targetEntity="ImagenUsuario", mappedBy="usuario")
     */
   protected $imagenes;

   /**
     * @ORM\ManyToMany(targetEntity="Tags", inversedBy="usuarios")
     * @ORM\JoinTable(name="tags_usuario")
     */
   protected $tags;

   public function getUbicacionText(){
       $ubicacion = array();
       if($this->pais)
        $ubicacion[] = $this->pais;
       if($this->provincia)
        $ubicacion[] = $this->provincia;
       if($this->ciudad)
        $ubicacion[] = $this->ciudad;
       return implode(', ', $ubicacion);
   }
   
   public function getEdad(){
       list($Y,$m,$d) = explode("/",date_format($this->cumple,'Y/m/d'));
       return ( date("md") < $m.$d ? date("Y")-$Y-1 : date("Y")-$Y );
   }
   
   /*public function getUsername(){
       return $this->getEmail();
   }*/
   
   public function setEmail($email){
       $this->email = $email;
       $this->setUsername($email);
       return $this;
   }
   
   public function setId($id){
       $this->id = $id;
   }

   public function getImagenDefault(){
       $imgDefa = new ImagenUsuario();
       $imgDefa->setUsuario($this);
       $imgDefa->setDefa(1);
       $imgDefa->setImagen(false);
       $imgDefa->setImagenBig(false);
       $imgDefa->setManual(0);
       foreach($this->imagenes as $imagen){
           if($imagen->getDefa())
                   $imgDefa = $imagen;
       }
       return $imgDefa;
   }
   
   public function getSeoUbicacion(){
       $seoUbicacion = array();
       if($this->pais)
            $seoUbicacion[] = Strings::getSeoUrl($this->pais);
       if($this->provincia)
            $seoUbicacion[] = Strings::getSeoUrl($this->provincia);
       if($this->ciudad)
            $seoUbicacion[] = Strings::getSeoUrl($this->ciudad);
       return implode('-', $seoUbicacion);
   }
   
   public function getPorcentajeCaracteristicas(){
       $cantCompletas = 0;
       $cantTotal = 19;
       if($this->altura > 0)
           $cantCompletas++;
       if($this->estudios > 0)
           $cantCompletas++;
       if($this->fisico > 0)
           $cantCompletas++;
       if($this->estado_civil > 0)
           $cantCompletas++;
       if($this->color_pelo > 0)
           $cantCompletas++;
       if($this->color_ojos > 0)
           $cantCompletas++;
       if($this->nacionalidad)
           $cantCompletas++;
       if($this->vives > 0)
           $cantCompletas++;
       if($this->trabajo)
           $cantCompletas++;
       if($this->animales)
           $cantCompletas++;
       if($this->idioma)
           $cantCompletas++;
       if($this->cita_ideal)
           $cantCompletas++;
       if($this->web)
           $cantCompletas++;
       if($this->msn)
           $cantCompletas++;
       if($this->yahoo)
           $cantCompletas++;
       if($this->facebook)
           $cantCompletas++;
       if($this->twitter)
           $cantCompletas++;
       if($this->webcam > 0)
           $cantCompletas++;
       if($this->telefono)
           $cantCompletas++;
       return $cantCompletas * 100 / $cantTotal;
   }
   
   public function getPorcentajePreferencias(){
       $cantCompletas = 0;
       $cantTotal = 11;
       if($this->hijos > 0)
           $cantCompletas++;
       if($this->religion > 0)
           $cantCompletas++;
       if($this->fumas > 0)
           $cantCompletas++;
       if($this->bebes > 0)
           $cantCompletas++;
       if($this->musica)
           $cantCompletas++;
       if($this->peliculas)
           $cantCompletas++;
       if($this->libros)
           $cantCompletas++;
       if($this->tele)
           $cantCompletas++;
       if($this->deportes)
           $cantCompletas++;
       if($this->frase)
           $cantCompletas++;
       if($this->comida)
           $cantCompletas++;
       return $cantCompletas * 100 / $cantTotal;
   }

   public function getOpcionesSexo($opcion = false){
       return UsuarioRepository::getOpcionesSexo($opcion);
   }
   
   public function getOpcionesAltura($opcion = false,$default="Seleccionar"){
        return UsuarioRepository::getOpcionesAltura($opcion ,$default);
   }

   public static function getOpcionesHijos($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesHijos($opcion ,$default);
   }

   public static function getOpcionesEstudios($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesEstudios($opcion ,$default);
   }

   public static function getOpcionesReligion($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesReligion($opcion ,$default);
   }
    
   public static function getOpcionesFumas($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesFumas($opcion ,$default);
   }
    
   public static function getOpcionesBebes($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesBebes($opcion ,$default);
   }
    
   public static function getOpcionesFisico($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesFisico($opcion ,$default);
   }
    
   public static function getOpcionesEstadoCivil($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesEstadoCivil($opcion ,$default);
   }
    
   public static function getOpcionesColorPelo($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesColorPelo($opcion ,$default);
   }
    
   public static function getOpcionesColorOjos($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesColorOjos($opcion ,$default);
   }
    
   public static function getOpcionesVives($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesVives($opcion ,$default);
   }
    
   public static function getOpcionesPara($opcion = false){
        return UsuarioRepository::getOpcionesPara($opcion);
   }
    
   public static function getOpcionesWebcam($opcion = false,$default = "Seleccionar"){
        return UsuarioRepository::getOpcionesWebcam($opcion ,$default);
   }

   //**********************GENERADOS*****************************************************//
 
    public function __construct()
    {
        parent::__construct();
        $now = date_create_from_format('d/m/Y', date('d/m/Y'));
        $this->setCreatedAt($now);
        $this->setUltimaActividad($now);
        $this->setUpdatedAt($now);
        $this->setSexo(1);
        $this->setBusco(0);
        $this->imagenes = new \Doctrine\Common\Collections\ArrayCollection();
        $this->tags = new \Doctrine\Common\Collections\ArrayCollection();
    }
    
    /**
     * Set fb_id
     *
     * @param integer $fbId
     */
    public function setFbId($fbId)
    {
        $this->fb_id = $fbId;
    }

    /**
     * Get fb_id
     *
     * @return integer 
     */
    public function getFbId()
    {
        return $this->fb_id;
    }

    /**
     * Set nombre
     *
     * @param string $nombre
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return ucwords(strtolower($this->nombre));
    }

    /**
     * Set apellido
     *
     * @param string $apellido
     */
    public function setApellido($apellido)
    {
        $this->apellido = $apellido;
    }

    /**
     * Get apellido
     *
     * @return string 
     */
    public function getApellido()
    {
        return ucwords(strtolower($this->apellido));
    }

    /**
     * Set sexo
     *
     * @param integer $sexo
     */
    public function setSexo($sexo)
    {
        $this->sexo = $sexo;
    }

    /**
     * Get sexo
     *
     * @return integer 
     */
    public function getSexo()
    {
        return $this->sexo;
    }

    /**
     * Set busco
     *
     * @param integer $busco
     */
    public function setBusco($busco)
    {
        $this->busco = $busco;
    }

    /**
     * Get busco
     *
     * @return integer 
     */
    public function getBusco()
    {
        return $this->busco;
    }

    /**
     * Set cumple
     *
     * @param date $cumple
     */
    public function setCumple($cumple)
    {
        $this->cumple = $cumple;
    }

    /**
     * Get cumple
     *
     * @return date 
     */
    public function getCumple()
    {
        return $this->cumple;
    }

    /**
     * Set verificado
     *
     * @param integer $verificado
     */
    public function setVerificado($verificado)
    {
        $this->verificado = $verificado;
    }

    /**
     * Get verificado
     *
     * @return integer 
     */
    public function getVerificado()
    {
        return $this->verificado;
    }

    /**
     * Set borrado
     *
     * @param integer $borrado
     */
    public function setBorrado($borrado)
    {
        $this->borrado = $borrado;
    }

    /**
     * Get borrado
     *
     * @return integer 
     */
    public function getBorrado()
    {
        return $this->borrado;
    }

    /**
     * Set deleted_at
     *
     * @param date $deletedAt
     */
    public function setDeletedAt($deletedAt)
    {
        $this->deleted_at = $deletedAt;
    }

    /**
     * Get deleted_at
     *
     * @return date 
     */
    public function getDeletedAt()
    {
        return $this->deleted_at;
    }

    /**
     * Set ultima_actividad
     *
     * @param date $ultimaActividad
     */
    public function setUltimaActividad($ultimaActividad)
    {
        $this->ultima_actividad = $ultimaActividad;
    }

    /**
     * Get ultima_actividad
     *
     * @return date 
     */
    public function getUltimaActividad()
    {
        return $this->ultima_actividad;
    }

    /**
     * Set created_at
     *
     * @param date $createdAt
     */
    public function setCreatedAt($createdAt)
    {
        $this->created_at = $createdAt;
    }

    /**
     * Get created_at
     *
     * @return date 
     */
    public function getCreatedAt()
    {
        return $this->created_at;
    }

    /**
     * Set updated_at
     *
     * @param date $updatedAt
     */
    public function setUpdatedAt($updatedAt)
    {
        $this->updated_at = $updatedAt;
    }

    /**
     * Get updated_at
     *
     * @return date 
     */
    public function getUpdatedAt()
    {
        return $this->updated_at;
    }

    /**
     * Set altura
     *
     * @param integer $altura
     */
    public function setAltura($altura)
    {
        $this->altura = $altura;
    }

    /**
     * Get altura
     *
     * @return integer 
     */
    public function getAltura()
    {
        return $this->altura;
    }

    /**
     * Set hijos
     *
     * @param integer $hijos
     */
    public function setHijos($hijos)
    {
        $this->hijos = $hijos;
    }

    /**
     * Get hijos
     *
     * @return integer 
     */
    public function getHijos()
    {
        return $this->hijos;
    }

    /**
     * Set estudios
     *
     * @param integer $estudios
     */
    public function setEstudios($estudios)
    {
        $this->estudios = $estudios;
    }

    /**
     * Get estudios
     *
     * @return integer 
     */
    public function getEstudios()
    {
        return $this->estudios;
    }

    /**
     * Set religion
     *
     * @param integer $religion
     */
    public function setReligion($religion)
    {
        $this->religion = $religion;
    }

    /**
     * Get religion
     *
     * @return integer 
     */
    public function getReligion()
    {
        return $this->religion;
    }

    /**
     * Set fumas
     *
     * @param integer $fumas
     */
    public function setFumas($fumas)
    {
        $this->fumas = $fumas;
    }

    /**
     * Get fumas
     *
     * @return integer 
     */
    public function getFumas()
    {
        return $this->fumas;
    }

    /**
     * Set bebes
     *
     * @param integer $bebes
     */
    public function setBebes($bebes)
    {
        $this->bebes = $bebes;
    }

    /**
     * Get bebes
     *
     * @return integer 
     */
    public function getBebes()
    {
        return $this->bebes;
    }

    /**
     * Set fisico
     *
     * @param integer $fisico
     */
    public function setFisico($fisico)
    {
        $this->fisico = $fisico;
    }

    /**
     * Get fisico
     *
     * @return integer 
     */
    public function getFisico()
    {
        return $this->fisico;
    }

    /**
     * Set descripcion
     *
     * @param text $descripcion
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;
    }

    /**
     * Get descripcion
     *
     * @return text 
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }

    /**
     * Set musica
     *
     * @param text $musica
     */
    public function setMusica($musica)
    {
        $this->musica = $musica;
    }

    /**
     * Get musica
     *
     * @return text 
     */
    public function getMusica()
    {
        return $this->musica;
    }

    /**
     * Set peliculas
     *
     * @param text $peliculas
     */
    public function setPeliculas($peliculas)
    {
        $this->peliculas = $peliculas;
    }

    /**
     * Get peliculas
     *
     * @return text 
     */
    public function getPeliculas()
    {
        return $this->peliculas;
    }

    /**
     * Set libros
     *
     * @param text $libros
     */
    public function setLibros($libros)
    {
        $this->libros = $libros;
    }

    /**
     * Get libros
     *
     * @return text 
     */
    public function getLibros()
    {
        return $this->libros;
    }

    /**
     * Set tele
     *
     * @param text $tele
     */
    public function setTele($tele)
    {
        $this->tele = $tele;
    }

    /**
     * Get tele
     *
     * @return text 
     */
    public function getTele()
    {
        return $this->tele;
    }

    /**
     * Set deportes
     *
     * @param text $deportes
     */
    public function setDeportes($deportes)
    {
        $this->deportes = $deportes;
    }

    /**
     * Get deportes
     *
     * @return text 
     */
    public function getDeportes()
    {
        return $this->deportes;
    }

    /**
     * Set estado_civil
     *
     * @param integer $estadoCivil
     */
    public function setEstadoCivil($estadoCivil)
    {
        $this->estado_civil = $estadoCivil;
    }

    /**
     * Get estado_civil
     *
     * @return integer 
     */
    public function getEstadoCivil()
    {
        return $this->estado_civil;
    }

    /**
     * Set color_pelo
     *
     * @param integer $colorPelo
     */
    public function setColorPelo($colorPelo)
    {
        $this->color_pelo = $colorPelo;
    }

    /**
     * Get color_pelo
     *
     * @return integer 
     */
    public function getColorPelo()
    {
        return $this->color_pelo;
    }

    /**
     * Set nacionalidad
     *
     * @param text $nacionalidad
     */
    public function setNacionalidad($nacionalidad)
    {
        $this->nacionalidad = $nacionalidad;
    }

    /**
     * Get nacionalidad
     *
     * @return text 
     */
    public function getNacionalidad()
    {
        return $this->nacionalidad;
    }

    /**
     * Set trabajo
     *
     * @param text $trabajo
     */
    public function setTrabajo($trabajo)
    {
        $this->trabajo = $trabajo;
    }

    /**
     * Get trabajo
     *
     * @return text 
     */
    public function getTrabajo()
    {
        return $this->trabajo;
    }

    /**
     * Set color_ojos
     *
     * @param integer $colorOjos
     */
    public function setColorOjos($colorOjos)
    {
        $this->color_ojos = $colorOjos;
    }

    /**
     * Get color_ojos
     *
     * @return integer 
     */
    public function getColorOjos()
    {
        return $this->color_ojos;
    }

    /**
     * Set vives
     *
     * @param integer $vives
     */
    public function setVives($vives)
    {
        $this->vives = $vives;
    }

    /**
     * Get vives
     *
     * @return integer 
     */
    public function getVives()
    {
        return $this->vives;
    }

    /**
     * Set frase
     *
     * @param text $frase
     */
    public function setFrase($frase)
    {
        $this->frase = $frase;
    }

    /**
     * Get frase
     *
     * @return text 
     */
    public function getFrase()
    {
        return $this->frase;
    }

    /**
     * Set buscas
     *
     * @param text $buscas
     */
    public function setBuscas($buscas)
    {
        $this->buscas = $buscas;
    }

    /**
     * Get buscas
     *
     * @return text 
     */
    public function getBuscas()
    {
        return $this->buscas;
    }

    /**
     * Set comida
     *
     * @param text $comida
     */
    public function setComida($comida)
    {
        $this->comida = $comida;
    }

    /**
     * Get comida
     *
     * @return text 
     */
    public function getComida()
    {
        return $this->comida;
    }

    /**
     * Set cita_ideal
     *
     * @param text $citaIdeal
     */
    public function setCitaIdeal($citaIdeal)
    {
        $this->cita_ideal = $citaIdeal;
    }

    /**
     * Get cita_ideal
     *
     * @return text 
     */
    public function getCitaIdeal()
    {
        return $this->cita_ideal;
    }

    /**
     * Set web
     *
     * @param string $web
     */
    public function setWeb($web)
    {
        $this->web = $web;
    }

    /**
     * Get web
     *
     * @return string 
     */
    public function getWeb()
    {
        return $this->web;
    }

    /**
     * Set msn
     *
     * @param string $msn
     */
    public function setMsn($msn)
    {
        $this->msn = $msn;
    }

    /**
     * Get msn
     *
     * @return string 
     */
    public function getMsn()
    {
        return $this->msn;
    }

    /**
     * Set yahoo
     *
     * @param string $yahoo
     */
    public function setYahoo($yahoo)
    {
        $this->yahoo = $yahoo;
    }

    /**
     * Get yahoo
     *
     * @return string 
     */
    public function getYahoo()
    {
        return $this->yahoo;
    }

    /**
     * Set facebook
     *
     * @param string $facebook
     */
    public function setFacebook($facebook)
    {
        $this->facebook = $facebook;
    }

    /**
     * Get facebook
     *
     * @return string 
     */
    public function getFacebook()
    {
        return $this->facebook;
    }

    /**
     * Set twitter
     *
     * @param string $twitter
     */
    public function setTwitter($twitter)
    {
        $this->twitter = $twitter;
    }

    /**
     * Get twitter
     *
     * @return string 
     */
    public function getTwitter()
    {
        return $this->twitter;
    }

    /**
     * Set webcam
     *
     * @param integer $webcam
     */
    public function setWebcam($webcam)
    {
        $this->webcam = $webcam;
    }

    /**
     * Get webcam
     *
     * @return integer 
     */
    public function getWebcam()
    {
        return $this->webcam;
    }

    /**
     * Set telefono
     *
     * @param string $telefono
     */
    public function setTelefono($telefono)
    {
        $this->telefono = $telefono;
    }

    /**
     * Get telefono
     *
     * @return string 
     */
    public function getTelefono()
    {
        return $this->telefono;
    }

    /**
     * Set pais
     *
     * @param string $pais
     */
    public function setPais($pais)
    {
        $this->pais = $pais;
    }

    /**
     * Get pais
     *
     * @return string 
     */
    public function getPais()
    {
        return $this->pais;
    }

    /**
     * Set provincia
     *
     * @param string $provincia
     */
    public function setProvincia($provincia)
    {
        $this->provincia = $provincia;
    }

    /**
     * Get provincia
     *
     * @return string 
     */
    public function getProvincia()
    {
        return $this->provincia;
    }

    /**
     * Set ciudad
     *
     * @param string $ciudad
     */
    public function setCiudad($ciudad)
    {
        $this->ciudad = $ciudad;
    }

    /**
     * Get ciudad
     *
     * @return string 
     */
    public function getCiudad()
    {
        return $this->ciudad;
    }

    /**
     * Set seo_pais
     *
     * @param string $seoPais
     */
    public function setSeoPais($seoPais)
    {
        $this->seo_pais = $seoPais;
    }

    /**
     * Get seo_pais
     *
     * @return string 
     */
    public function getSeoPais()
    {
        return $this->seo_pais;
    }

    /**
     * Set seo_provincia
     *
     * @param string $seoProvincia
     */
    public function setSeoProvincia($seoProvincia)
    {
        $this->seo_provincia = $seoProvincia;
    }

    /**
     * Get seo_provincia
     *
     * @return string 
     */
    public function getSeoProvincia()
    {
        return $this->seo_provincia;
    }

    /**
     * Set seo_ciudad
     *
     * @param string $seoCiudad
     */
    public function setSeoCiudad($seoCiudad)
    {
        $this->seo_ciudad = $seoCiudad;
    }

    /**
     * Get seo_ciudad
     *
     * @return string 
     */
    public function getSeoCiudad()
    {
        return $this->seo_ciudad;
    }

    /**
     * Set latitude
     *
     * @param decimal $latitude
     */
    public function setLatitude($latitude)
    {
        $this->latitude = $latitude;
    }

    /**
     * Get latitude
     *
     * @return decimal 
     */
    public function getLatitude()
    {
        return $this->latitude;
    }

    /**
     * Set longitude
     *
     * @param decimal $longitude
     */
    public function setLongitude($longitude)
    {
        $this->longitude = $longitude;
    }

    /**
     * Get longitude
     *
     * @return decimal 
     */
    public function getLongitude()
    {
        return $this->longitude;
    }

    /**
     * Set animales
     *
     * @param text $animales
     */
    public function setAnimales($animales)
    {
        $this->animales = $animales;
    }

    /**
     * Get animales
     *
     * @return text 
     */
    public function getAnimales()
    {
        return $this->animales;
    }

    /**
     * Set idioma
     *
     * @param text $idioma
     */
    public function setIdioma($idioma)
    {
        $this->idioma = $idioma;
    }

    /**
     * Get idioma
     *
     * @return text 
     */
    public function getIdioma()
    {
        return $this->idioma;
    }

    /**
     * Set para
     *
     * @param integer $para
     */
    public function setPara($para)
    {
        $this->para = $para;
    }

    /**
     * Get para
     *
     * @return integer 
     */
    public function getPara()
    {
        return $this->para;
    }

    /**
     * Set puntos
     *
     * @param decimal $puntos
     */
    public function setPuntos($puntos)
    {
        $this->puntos = $puntos;
    }

    /**
     * Get puntos
     *
     * @return decimal 
     */
    public function getPuntos()
    {
        return $this->puntos;
    }

    /**
     * Set votos
     *
     * @param integer $votos
     */
    public function setVotos($votos)
    {
        $this->votos = $votos;
    }

    /**
     * Get votos
     *
     * @return integer 
     */
    public function getVotos()
    {
        return $this->votos;
    }

    /**
     * Set credito
     *
     * @param integer $credito
     */
    public function setCredito($credito)
    {
        $this->credito = $credito;
    }

    /**
     * Get credito
     *
     * @return integer 
     */
    public function getCredito()
    {
        return $this->credito;
    }

    /**
     * Set en_header_at
     *
     * @param datetime $enHeaderAt
     */
    public function setEnHeaderAt($enHeaderAt)
    {
        $this->en_header_at = $enHeaderAt;
    }

    /**
     * Get en_header_at
     *
     * @return datetime 
     */
    public function getEnHeaderAt()
    {
        return $this->en_header_at;
    }

    /**
     * Add imagenes
     *
     * @param Mouta\AmistateBundle\Entity\ImagenUsuario $imagenes
     */
    public function addImagenUsuario(\Mouta\AmistateBundle\Entity\ImagenUsuario $imagenes)
    {
        $this->imagenes[] = $imagenes;
    }

    /**
     * Get imagenes
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getImagenes()
    {
        return $this->imagenes;
    }

    /**
     * Add tags
     *
     * @param Mouta\AmistateBundle\Entity\Tags $tags
     */
    public function addTags(\Mouta\AmistateBundle\Entity\Tags $tags)
    {
        $this->tags[] = $tags;
    }

    /**
     * Get tags
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getTags()
    {
        return $this->tags;
    }

    /**
     * Set reindexar
     *
     * @param integer $reindexar
     */
    public function setReindexar($reindexar)
    {
        $this->reindexar = $reindexar;
    }

    /**
     * Get reindexar
     *
     * @return integer 
     */
    public function getReindexar()
    {
        return $this->reindexar;
    }

    /**
     * Set recibomail
     *
     * @param integer $recibomail
     */
    public function setRecibomail($recibomail)
    {
        $this->recibomail = $recibomail;
    }

    /**
     * Get recibomail
     *
     * @return integer 
     */
    public function getRecibomail()
    {
        return $this->recibomail;
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
}